// 立即执行函数输出
var test = 'hello world';
(function test() {
  // console.log(arguments.callee.name)
  test = 'hi, siri';
  console.log(test) // [Function: test]
})();

function a() {
  console.log(a);
  a = 1;
  console.log(a)
}
a()

/**
 * 题目解析
 * 这个比较复杂，可以理解为 立即执行函数表达式 IIFE 下，具名表达式 NFE 的特性：
 * 1. 作为函数名的标识符，只能在函数内部访问
 * 2. 作为函数名的标识符, 不能绑定为其他值，它是不可更改的
 * 
 * 因此，这里输出的test，是指当前的执行的函数
 * 参考链接：
 * https://segmentfault.com/q/1010000002810093
 * https://blog.csdn.net/qq_42819250/article/details/121029968
 * */ 